import uuid
import os
from datetime import datetime

def user_upload_to(instance, filename):
    # 获取当前的年月（例如 2024/12）
    current_month = datetime.now().strftime('%Y/%m')

    # 获取文件扩展名
    ext = filename.split('.')[-1]

    # 生成唯一的文件名
    unique_filename = f"{uuid.uuid4()}.{ext}"

    # 生成目标文件夹路径，dir 作为文件夹前缀
    folder_path = os.path.join('avatars', current_month)

    # 确保目标文件夹存在，如果不存在则创建
    if not os.path.exists(folder_path):
        os.makedirs(folder_path, exist_ok=True)

    # 返回按年月组织的文件路径
    return os.path.join(folder_path, unique_filename)
